
#include "common.h"
#include "mempool.h"

void *mempool_alloc(int size)
{
	if(size <= 0) 
		return NULL;

	return calloc(1, size);
}

void mempool_free(void *ptr)
{
	if(!ptr) 
		return;

	free(ptr);
}

void *mempool_dup(const void *src, size_t size)
{
	if(!src) 
		return NULL;
	if(!size)
		return NULL;
	
	void *retv = calloc(1, size);

	memcpy(retv, src, size);
	return retv;
}

void *mempool_realloc(void *ptr, int size)
{
	if(!ptr)
		return NULL;
	if(size < 0)
		return NULL;

	return realloc(ptr, size);
}
